package org.gitman.agentplatform.core.activator;

import org.gitman.agentplatform.core.PlatformManager;
import org.gitman.agentplatform.core.services.AgentFactoryRegistrationService;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;

public class Activator implements BundleActivator {

	private static BundleContext context;

	static BundleContext getContext() {
		return context;
	}

	/*
	 * (non-Javadoc)
	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
	 */
	public void start(BundleContext bundleContext) throws Exception {
		Activator.context = bundleContext;
		bundleContext.registerService(
				AgentFactoryRegistrationService.class.getName(), 
				new AgentFactoryRegistrationService(), 
				null);
		PlatformManager platformManager = PlatformManager.getInstatnce();
		platformManager.setContext(bundleContext);
		platformManager.createView();
		System.out.println("[AgentPlatform]\tstarted");
		//PlatformManagerTest test = new PlatformManagerTest();
		//test.testAgentFactoryService();
	}

	/*
	 * (non-Javadoc)
	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
	 */
	public void stop(BundleContext bundleContext) throws Exception {
		Activator.context = null;
	}

}
